﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MakeIT.MiraPark.Comuns;

namespace MakeIT.MiraPark.Negocios
{
    public class MensalistaVO
    {
        public struct Situacao
        {
            public static string EmDia = "Em Dia";
            public static string EmAtraso = "Em Atraso";
        }

        protected MensalistaVO() { }

        public static MensalistaVO CreateMensalistaVO()
        {
            MensalistaVO mensalista = new MensalistaVO();
            mensalista.clienteVO = ClienteVO.CreateClienteVO();
            mensalista.tabelaMensalVO = TabelaMensalVO.CreateTabelaMensalVO();
            mensalista.mensalistaxVeiculoVOs = new List<MensalistaxVeiculoVO>();
            return mensalista;
        }
        public static MensalistaVO CreateMensalistaVO(int idMensalista, int idCliente, int idTabelaMensal)
        {
            MensalistaVO mensalistaVO = CreateMensalistaVO();
            mensalistaVO.idMensalista = idMensalista;
            mensalistaVO.idCliente = idCliente;
            mensalistaVO.idTabelaMensal = idTabelaMensal;
            return mensalistaVO;
        }

        public int idMensalista
        {
            get { return this._idMensalista; }
            set { this._idMensalista = value; }
        }
        private int _idMensalista;

        public int idCliente
        {
            get { return this.clienteVO.idCliente; }
            set { this.clienteVO.idCliente = value; }
        }

        public int idTabelaMensal
        {
            get { return this.tabelaMensalVO.idTabelaMensal; }
            set { this.tabelaMensalVO.idTabelaMensal = value; }
        }

        public bool ativo
        {
            get { return _Ativo; }
            set { _Ativo = value; }
        }
        private bool _Ativo;

        public int diaPgto
        {
            get { return _DiaPgto; }
            set { _DiaPgto = value; }
        }
        private int _DiaPgto;

        public int qtdVagas
        {
            get { return _qtdVagas; }
            set { _qtdVagas = value; }
        }
        private int _qtdVagas;

        public string situacao
        {
            get { return _Situacao; }
            set { _Situacao = value; }
        }
        private string _Situacao;

        public DateTime cadastro
        {
            get { return _Cadastro; }
            set { _Cadastro = value; }
        }
        private DateTime _Cadastro;

        public DateTime edicao
        {
            get { return _Edicao; }
            set { _Edicao = value; }
        }
        private DateTime _Edicao;


        public ClienteVO clienteVO
        {
            get { return _ClienteVO; }
            set { _ClienteVO = value; }
        }
        private ClienteVO _ClienteVO;

        public TabelaMensalVO tabelaMensalVO
        {
            get { return _TabelaMensalVO; }
            set { _TabelaMensalVO = value; }
        }
        private TabelaMensalVO _TabelaMensalVO;

        public List<MensalistaxVeiculoVO> mensalistaxVeiculoVOs
        {
            get { return this._mensalistaxVeiculoVOs; }
            set { this._mensalistaxVeiculoVOs = value; }
        }
        private List<MensalistaxVeiculoVO> _mensalistaxVeiculoVOs;

        public override string ToString()
        {
            return this._ClienteVO.nome;
        }
    
    }
}
